package edu.ccut.saturn.component;

import java.util.List;
import java.util.Set;

/**
 * Record logic component information define in xml file name postfix is
 * "*.logic"
 * 
 * @author 谷鈺
 * 
 * @version 1.0 2008.09.09
 * 
 */
public interface ILogicComponentInfo extends IComponentInfo {

	/**
	 * Get Node information
	 * 
	 * @param id
	 * @return
	 */
	public INodeInfo getNodeInfo(String id);

	/**
	 * Get Start Node information
	 * 
	 * @return
	 */
	public INodeInfo getStartNodeInfo();

	/**
	 * Add nodes 
	 * 
	 * @param nodes
	 */
	public void addNodeInfos(List<INodeInfo> nodes) throws SaturnComponentException;

	/**
	 * Add one node
	 * @param nodeInfo
	 * @throws SaturnComponentException
	 */
	public void addNodoInfo(INodeInfo nodeInfo) throws SaturnComponentException;
	
	/**
	 * Get Id key Set
	 * 
	 * @return
	 */
	public Set<String> getNodeIdKeySet();
}
